﻿#ifndef XRTCCLIENT_XRTC_XRTC_DEFINES_H_
#define XRTCCLIENT_XRTC_XRTC_DEFINES_H_

#include <string>

namespace xrtc {

const std::string SIGNAL_TYPE_JOIN = "join";
const std::string SIGNAL_TYPE_RESP_JOIN = "resp_join";
const std::string SIGNAL_TYPE_LEAVE = "leave";
const std::string SIGNAL_TYPE_NEW_PEER = "new_peer";
const std::string SIGNAL_TYPE_PEER_LEAVE = "peer_leave";
const std::string SIGNAL_TYPE_OFFER = "offer";
const std::string SIGNAL_TYPE_ANSWER = "answer";
const std::string SIGNAL_TYPE_CANDIDATE = "candidate";

struct XRTCDeviceInfo {
    std::string device_id;
    std::string device_name;
};

struct XRTCVideoConfig {
    std::string device_id;
    int width = 640;
    int height = 360;
    int fps = 30;
};

struct XRTCCanvas {
    void* view = nullptr;
};

enum class XRTCStreamState {
    kConnecting,   // 连接中
    kConnected,    // 连接成功
    kDisconnected, // 连接断开
    kFailed,       // 连接失败
};

} // namespace xrtc

#endif // XRTCCLIENT_XRTC_XRTC_DEFINES_H_